﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ProjectA.Controls;
using System.Drawing;
using System.Windows.Forms;
using ProjectA.Modules.Menu;
using ProjectA.Modules.Costos;
using ProjectA.Modules.Configuracion;
using System.Data;
using System.ComponentModel;

namespace ProjectA.Page_General
{
    public class cPage_General : cPage
    {
        public BindingSource bsProyectos;
        public DataSets.dsPrincipal dsPrincipal;
        private System.ComponentModel.IContainer components;
        wsGeneral.WsGeneral wsGeneral;

        public cPage_General(frmPrincipal frmPrincipal)
        {
            wsGeneral = new wsGeneral.WsGeneral();
            this.frmPrincipal = frmPrincipal;
            ImageBackGroundPage = ((System.Drawing.Image)(Properties.Resources.bg_general));
            InitializeComponent();
            InitComponent();
            CargarInformacionProyectos();
            cbCabeceraSeleccionarProyecto.SelectedIndex = -1;
        }

        private void CargarInformacionProyectos()
        {
            try
            {
                DataSet dsProyectos = new DataSet();
                string sErr;
                wsGeneral.GetCentroCostos(null, null, null, null, null, null, out dsProyectos, out sErr);
                dsProyectos.Tables[0].Rows.Add(-1, "Nuevo proyecto", null, DateTime.Now, DateTime.Now, -1);
                dsPrincipal.Tables["Centro de Costos"].Clear();
                dsPrincipal.Load(dsProyectos.CreateDataReader(), LoadOption.OverwriteChanges, "Centro de Costos");
            }
            catch (Exception exc)
            {
                MessageBox.Show("CargarInformacionProyectos: " + exc.Message);
            }
        }

        private void btCabeceraConfig_Click(object sender, EventArgs e)
        {
            if (!SubPage_Config.Visible)
                SubPage_Config.Visible = true;
            SubPage_Config.WindowOpciones.Visible = true;
            SubPage_Config.WindowProveedores.Visible = false;
            SubPage_Config.WindowProyectos.Visible = false;
            SubPage_Config.WindowUsuarios.Visible = false;

            SubPage_Menu.Visible = false;
            SubPage_Costos.Visible = false;
        }

        private void btCabeceraAtras_Click(object sender, EventArgs e)
        {
            if (frmPrincipal.cPage_General.SubPage_Config.Visible && !frmPrincipal.cPage_General.SubPage_Config.WindowOpciones.Visible)
            {
                frmPrincipal.cPage_General.SubPage_Config.WindowUsuarios.Visible = false;
                frmPrincipal.cPage_General.SubPage_Config.WindowProyectos.Visible = false;
                frmPrincipal.cPage_General.SubPage_Config.WindowProveedores.Visible = false;
                frmPrincipal.cPage_General.SubPage_Config.WindowOpciones.Visible = true;
            }
        }

        private void btCabeceraInicio_Click(object sender, EventArgs e)
        {
            if (!SubPage_Menu.Visible)
            {
                SubPage_Menu.Visible = true;
            }
            SubPage_Config.Visible = false;
            SubPage_Costos.Visible = false;
            this.cbCabeceraSeleccionarProyecto.Enabled = true;
        }

        private void btCabeceraSalir_Click(object sender, EventArgs e)
        {
            frmPrincipal.cPage_Login.Visible = true;
            this.Visible = false;
            this.frmPrincipal.cPage_General.SubPage_Config.Visible = false;
            this.frmPrincipal.cPage_General.SubPage_Costos.Visible = false;
            this.frmPrincipal.cPage_General.SubPage_Costos.btCostosFacturas.Checked = true;
            this.frmPrincipal.cPage_General.SubPage_Costos.WindowOC_OS.btTabInformacionGen.Checked = true;
            this.frmPrincipal.cPage_General.SubPage_Menu.Visible = true;
            this.cbCabeceraSeleccionarProyecto.Enabled = true;
            this.frmPrincipal.cPage_Login.tbLoginUsuario.Text = "";
            this.frmPrincipal.cPage_Login.tbLoginPassword.Text = "";
            frmPrincipal.Update();
            
            
        }

        private void InitComponent()
        {
            // ----------------------------------------------------------------------------------------------------------------------------------------------------------
            // Controles de la página
            // ----------------------------------------------------------------------------------------------------------------------------------------------------------
            this.btCabeceraSalir = new cButton(new Point(761, 17), new Size(41, 53), new EventHandler(btCabeceraSalir_Click), Properties.Resources.bt_salir_1, Properties.Resources.bt_salir_2, Properties.Resources.bt_salir_3, Properties.Resources.bt_salir_4);
            this.btCabeceraConfig = new cButton(new Point(680, 17), new Size(56, 53), new EventHandler(btCabeceraConfig_Click), Properties.Resources.bt_config_1, Properties.Resources.bt_config_2, Properties.Resources.bt_config_3, Properties.Resources.bt_config_4);
            this.btCabeceraAtras = new cButton(new Point(608, 17), new Size(47, 53), new EventHandler(btCabeceraAtras_Click), Properties.Resources.bt_atras_1, Properties.Resources.bt_atras_2, Properties.Resources.bt_atras_3, Properties.Resources.bt_atras_4);
            this.btCabeceraInicio = new cButton(new Point(608, 17), new Size(47, 53), new EventHandler(btCabeceraInicio_Click), Properties.Resources.bt_inicio_1, Properties.Resources.bt_inicio_2, Properties.Resources.bt_inicio_3, Properties.Resources.bt_inicio_4);
            this.lCabeceraProyecto = new cLabel(new Point(82, 34), new Size(94, 18), new Font("Arial", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))), Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(117)))), ((int)(((byte)(154))))), null, "PROYECTO");
            this.cbCabeceraSeleccionarProyecto = new cComboBox(new Point(182, 28), new Size(200, 25));
            this.cbCabeceraSeleccionarProyecto.setDataSource(bsProyectos, "Nombre");
            this.cbCabeceraSeleccionarProyecto.ValueMember = "ID";
            this.cbCabeceraSeleccionarProyecto.SelectedIndex = -1;

            this.Controls.Add(btCabeceraSalir);
            this.Controls.Add(btCabeceraConfig);
            //this.Controls.Add(btCabeceraAtras);
            this.Controls.Add(btCabeceraInicio);
            this.Controls.Add(lCabeceraProyecto);
            this.Controls.Add(cbCabeceraSeleccionarProyecto);


            // ----------------------------------------------------------------------------------------------------------------------------------------------------------
            // Modulos de la página
            // ----------------------------------------------------------------------------------------------------------------------------------------------------------
            this.SubPage_Menu = new cSubPage_Menu(frmPrincipal);
            SubPage_Menu.ImageBackGroundPage = ((System.Drawing.Image)(Properties.Resources.bg_transparent_module));
            //SubPage_Menu.Visible = false;

            this.SubPage_Costos = new cSubPage_Costos(frmPrincipal);
            SubPage_Costos.ImageBackGroundPage = ((System.Drawing.Image)(Properties.Resources.bg_subp_costos));
            SubPage_Costos.Visible = false;

            this.SubPage_Config = new cSubPage_Config(frmPrincipal);
            //SubPage_Config.ImageBackGroundPage = ((System.Drawing.Image)(Properties.Resources.bg_transparent_module));
            SubPage_Config.Visible = false;

            this.Controls.Add(SubPage_Menu);
            this.Controls.SetChildIndex(this.SubPage_Menu, 2);
            this.Controls.Add(SubPage_Costos);
            this.Controls.SetChildIndex(this.SubPage_Costos, 2);
            this.Controls.Add(SubPage_Config);
            this.Controls.SetChildIndex(this.SubPage_Config, 2);


            
        }

        private void Validating(object sender, CancelEventArgs e)
        {
            e.Cancel = true;
        }

        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.bsProyectos = new System.Windows.Forms.BindingSource(this.components);
            this.dsPrincipal = new ProjectA.DataSets.dsPrincipal();
            ((System.ComponentModel.ISupportInitialize)(this.bsProyectos)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.dsPrincipal)).BeginInit();
            this.SuspendLayout();
            // 
            // bsProyectos
            // 
            this.bsProyectos.DataMember = "Centro de Costos";
            this.bsProyectos.DataSource = this.dsPrincipal;
            // 
            // dsPrincipal
            // 
            this.dsPrincipal.DataSetName = "dsPrincipal";
            this.dsPrincipal.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            ((System.ComponentModel.ISupportInitialize)(this.bsProyectos)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.dsPrincipal)).EndInit();
            this.ResumeLayout(false);

        }


        //Modulos
        public cSubPage_Menu SubPage_Menu { get; set; }
        public cSubPage_Costos SubPage_Costos { get; set; }
        public cSubPage_Config SubPage_Config { get; set; }
  


        //Botones
        public cButton btCabeceraSalir { get; set; }
        public cButton btCabeceraConfig { get; set; }
        public cButton btCabeceraAtras { get; set; }
        public cButton btCabeceraInicio { get; set; }

        //Labels
        public cLabel lCabeceraProyecto { get; set; }

        //ComboBox
        public cComboBox cbCabeceraSeleccionarProyecto { get; set; }

        //FormaPrincipal
        private frmPrincipal frmPrincipal { get; set; }

    }
}
